{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
      "  \"This module will be removed in 0.20.\", DeprecationWarning)\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import xgboost as xgb\n",
    "\n",
    "from xgboost import XGBClassifier\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "from sklearn.metrics import log_loss\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>price</th>\n",
       "      <th>price_bathrooms</th>\n",
       "      <th>price_bedrooms</th>\n",
       "      <th>room_diff</th>\n",
       "      <th>room_num</th>\n",
       "      <th>Year</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>...</th>\n",
       "      <th>walk</th>\n",
       "      <th>walls</th>\n",
       "      <th>war</th>\n",
       "      <th>washer</th>\n",
       "      <th>water</th>\n",
       "      <th>wheelchair</th>\n",
       "      <th>wifi</th>\n",
       "      <th>windows</th>\n",
       "      <th>work</th>\n",
       "      <th>interest_level</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.5</td>\n",
       "      <td>3</td>\n",
       "      <td>3000</td>\n",
       "      <td>1200.0</td>\n",
       "      <td>750.000000</td>\n",
       "      <td>-1.5</td>\n",
       "      <td>4.5</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>24</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>5465</td>\n",
       "      <td>2732.5</td>\n",
       "      <td>1821.666667</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2850</td>\n",
       "      <td>1425.0</td>\n",
       "      <td>1425.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>3275</td>\n",
       "      <td>1637.5</td>\n",
       "      <td>1637.500000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4</td>\n",
       "      <td>3350</td>\n",
       "      <td>1675.0</td>\n",
       "      <td>670.000000</td>\n",
       "      <td>-3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>28</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 228 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   bathrooms  bedrooms  price  price_bathrooms  price_bedrooms  room_diff  \\\n",
       "0        1.5         3   3000           1200.0      750.000000       -1.5   \n",
       "1        1.0         2   5465           2732.5     1821.666667       -1.0   \n",
       "2        1.0         1   2850           1425.0     1425.000000        0.0   \n",
       "3        1.0         1   3275           1637.5     1637.500000        0.0   \n",
       "4        1.0         4   3350           1675.0      670.000000       -3.0   \n",
       "\n",
       "   room_num  Year  Month  Day       ...        walk  walls  war  washer  \\\n",
       "0       4.5  2016      6   24       ...           0      0    0       0   \n",
       "1       3.0  2016      6   12       ...           0      0    0       0   \n",
       "2       2.0  2016      4   17       ...           0      0    0       0   \n",
       "3       2.0  2016      4   18       ...           0      0    0       0   \n",
       "4       5.0  2016      4   28       ...           0      0    1       0   \n",
       "\n",
       "   water  wheelchair  wifi  windows  work  interest_level  \n",
       "0      0           0     0        0     0               1  \n",
       "1      0           0     0        0     0               2  \n",
       "2      0           0     0        0     0               0  \n",
       "3      0           0     0        0     0               2  \n",
       "4      0           0     0        0     0               2  \n",
       "\n",
       "[5 rows x 228 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dpath = './data/'\n",
    "train = pd.read_csv(dpath + 'RentListingInquries_FE_train.csv')\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train = train['interest_level']\n",
    "train = train.drop('interest_level', axis=1)\n",
    "X_train = train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "kfold = StratifiedKFold(n_splits=5, shuffle=True, random_state=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "XGBClassifier(base_score=0.5, colsample_bylevel=0.7, colsample_bytree=0.8,\n",
       "       gamma=0, learning_rate=0.1, max_delta_step=0, max_depth=5,\n",
       "       min_child_weight=1, missing=None, n_estimators=315, nthread=-1,\n",
       "       objective='multi:softprob', reg_alpha=0, reg_lambda=1,\n",
       "       scale_pos_weight=1, seed=3, silent=True, subsample=0.3)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xgb1 = XGBClassifier(learning_rate=0.1,\n",
    "                    n_estimators=1000,\n",
    "                    max_depth=5,\n",
    "                    min_child_weight=1,\n",
    "                    gamma=0,\n",
    "                    subsample=0.3,\n",
    "                    colsample_bytree=0.8,\n",
    "                    colsample_bylevel=0.7,\n",
    "                    objective='multi:softprob',\n",
    "                    seed=3)\n",
    "\n",
    "xgb_param = xgb1.get_xgb_params()\n",
    "xgb_param['num_class'] = 3\n",
    "\n",
    "xgtrain = xgb.DMatrix(X_train, label = y_train)\n",
    "\n",
    "cvresult = xgb.cv(xgb_param,\n",
    "                  xgtrain,\n",
    "                  num_boost_round=xgb_param['n_estimators'],\n",
    "                  folds = kfold.split(X_train, y_train),\n",
    "                  metrics='mlogloss',\n",
    "                  early_stopping_rounds=10)\n",
    "\n",
    "cvresult.to_csv('1_estimators.csv', index_label='n_estimators')\n",
    "n_estimators = cvresult.shape[0]\n",
    "\n",
    "xgb1.set_params(n_estimators=n_estimators)\n",
    "xgb1.fit(X_train, y_train, eval_metric='mlogloss')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: from_csv is deprecated. Please use read_csv(...) instead. Note that some of the default arguments are different, so please refer to the documentation for from_csv when changing your function calls\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1088631d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cvresult = pd.DataFrame.from_csv('1_estimators.csv')\n",
    "        \n",
    "# plot\n",
    "test_means = cvresult['test-mlogloss-mean']\n",
    "test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "train_means = cvresult['train-mlogloss-mean']\n",
    "train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "x_axis = range(0, cvresult.shape[0])\n",
    "        \n",
    "pyplot.errorbar(x_axis, test_means, yerr=test_stds ,label='Test')\n",
    "pyplot.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "pyplot.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "pyplot.xlabel( 'n_estimators' )\n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'n_estimators4_1.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: from_csv is deprecated. Please use read_csv(...) instead. Note that some of the default arguments are different, so please refer to the documentation for from_csv when changing your function calls\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1088636d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cvresult = pd.DataFrame.from_csv('1_estimators.csv')\n",
    "\n",
    "cvresult = cvresult.iloc[100:]\n",
    "# plot\n",
    "test_means = cvresult['test-mlogloss-mean']\n",
    "test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "train_means = cvresult['train-mlogloss-mean']\n",
    "train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "x_axis = range(100,cvresult.shape[0]+100)\n",
    "        \n",
    "fig = pyplot.figure(figsize=(10, 10), dpi=100)\n",
    "pyplot.errorbar(x_axis, test_means, yerr=test_stds ,label='Test')\n",
    "pyplot.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "pyplot.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "pyplot.xlabel( 'n_estimators' )\n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'n_estimators_detail.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>price</th>\n",
       "      <th>price_bathrooms</th>\n",
       "      <th>price_bedrooms</th>\n",
       "      <th>room_diff</th>\n",
       "      <th>room_num</th>\n",
       "      <th>Year</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>...</th>\n",
       "      <th>virtual</th>\n",
       "      <th>walk</th>\n",
       "      <th>walls</th>\n",
       "      <th>war</th>\n",
       "      <th>washer</th>\n",
       "      <th>water</th>\n",
       "      <th>wheelchair</th>\n",
       "      <th>wifi</th>\n",
       "      <th>windows</th>\n",
       "      <th>work</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2950</td>\n",
       "      <td>1475.000000</td>\n",
       "      <td>1475.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>11</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2850</td>\n",
       "      <td>1425.000000</td>\n",
       "      <td>950.000000</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>24</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>3758</td>\n",
       "      <td>1879.000000</td>\n",
       "      <td>1879.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3300</td>\n",
       "      <td>1650.000000</td>\n",
       "      <td>1100.000000</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>11</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.0</td>\n",
       "      <td>2</td>\n",
       "      <td>4900</td>\n",
       "      <td>1633.333333</td>\n",
       "      <td>1633.333333</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 227 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   bathrooms  bedrooms  price  price_bathrooms  price_bedrooms  room_diff  \\\n",
       "0        1.0         1   2950      1475.000000     1475.000000        0.0   \n",
       "1        1.0         2   2850      1425.000000      950.000000       -1.0   \n",
       "2        1.0         1   3758      1879.000000     1879.000000        0.0   \n",
       "3        1.0         2   3300      1650.000000     1100.000000       -1.0   \n",
       "4        2.0         2   4900      1633.333333     1633.333333        0.0   \n",
       "\n",
       "   room_num  Year  Month  Day  ...   virtual  walk  walls  war  washer  water  \\\n",
       "0       2.0  2016      6   11  ...         0     0      0    0       0      0   \n",
       "1       3.0  2016      6   24  ...         0     0      0    1       0      0   \n",
       "2       2.0  2016      6    3  ...         0     0      0    0       0      0   \n",
       "3       3.0  2016      6   11  ...         0     0      0    0       0      0   \n",
       "4       4.0  2016      4   12  ...         0     0      0    1       0      0   \n",
       "\n",
       "   wheelchair  wifi  windows  work  \n",
       "0           0     0        0     0  \n",
       "1           0     0        0     0  \n",
       "2           0     0        0     0  \n",
       "3           1     0        0     0  \n",
       "4           0     0        0     0  \n",
       "\n",
       "[5 rows x 227 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dpath = './data/'\n",
    "X_test = pd.read_csv(dpath + 'RentListingInquries_FE_test.csv')\n",
    "X_test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 79.02%\n"
     ]
    }
   ],
   "source": [
    "y_pred = xgb1.predict(X_train)\n",
    "\n",
    "predictions = [round(value) for value in y_pred]\n",
    "accuracy = accuracy_score(y_train, predictions)\n",
    "print('Accuracy: %.2f%%' %(accuracy * 100.0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
